package com.ycc.uitl;

import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.RenderingHints;
import java.awt.Transparency;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.xml.bind.DatatypeConverter;

import com.itextpdf.text.pdf.codec.Base64;
/**
 * 给图片添加水印
 * @author tgy
 *
 */
public class MarkImageUtils {
  /**
   * @param args
   */
  public static void main(String[] args) {
//  String output = "C:/Users/ycc/Desktop/fpcy/test";
//    String source = "C:/Users/ycc/Desktop/fpcy/fpdzz.png";  //源图片路径
//    String icon = "F:/images/icon2.png"; //覆盖图片路径
//    String imageName = "fpdzz"; //图片名称
    String imageType = "png"; //图片类型jpg,jpeg,png,gif
    String text = "复 印 无 效";
//    int size = 4;  //马赛克大小
    Integer degree = -45; //水印旋转角度-45，null表示不旋转
    String result = null;
    //给图片添加图片水印
//    result = MarkImageUtils.markImageByMoreIcon(icon,source,output,imageName,imageType,degree);
//    result = MarkImageUtils.markImageBySingleIcon(icon, source, output, imageName, imageType, degree);
//    //给图片添加文字水印
	 String base64="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Prv+GM44Q8EnIiIi5fj882baacuWBQg+MlS7NEvyuSuuKP7cJ58Uf8+scirxdrhoi7YjKQRLZNG+iRG8+moFn4iIiHQTDpcgW7ea4Pvpp2YKdevWagNGeAXr3aztbrll7fdQ96asyo633blzIujy40ZwmpUrIiIidXn66WYa6tChrDvBRyu0Ln3QQfCVsajh9g2JHPMaDiPe8skf+bH+7W/Z6VIvTlIRERFpyrFjzTTUQw91KPhCSZK2WqnlofQJn6WrBd00sL5N2/aRR7LTCRpl9vvFF1mhaZW6f5R0cWKKiIhIn9y6hNR1JvjwIXdZRwZLXUjEiPf10kvV94VgxDU7a4wIQSekiIiItAGhbU2sfFRKaV3w4Y5tMkjKqVQdIBa7ujGBuINffjkrbFxM6RZ69QZrX/y3X35R9ImIiEj/3Lq7d3cg+LDQdZ1dEmLt6JIRYvSKwNUcPkPNvmmm0GnJHCdOrG5Htw4npYiIiLTBWWfV11M33tiB4Gvid65bP+addyafxx0bfvftt9PFH2IPy138u/vvL/fd//736meIGXRSioiISGruu6++nkIstir4vv++mQlyVpmUWYRaeNNaov3rX8VlVACzadXvwwWcuveuiIiISGD//maaqo6+KS34EGxNBjevTMo0rr22XIYv2bz5WD3i9OrUzrv9dtuniYiISDugWZokwe7Y0aLgu/PO+gNDiNU9KSEer2wbNAgt1uJ6elW/N/TejWMDRURERFJw+eX1ddX117co+JoEGG7bVl80URC57mevvHLtOGhcXPazZOo2tU6KiIiIFIGVronntBXB17Sd2ptvLk4wkX177rmrYznnnPJu3uefX+3C4eQUERGRVFCqrom2ok1scsHXNH4v5Qkia5fiycHl+u675fb/yitrx/Tss+U+F8SifXRFREQkJRs21NdWL7zQguBrUn+vaju1116b1Msrip379NP1+z/zzGr7J54vfBaX77ztv/tOK5+IiIikJ1Qi6ajc3XzBhwBrs50aCRn5DNtp/eL+859s3Ql67LFsrsiblQ49L0YvJIHQucMJKiIiIimga0ZdffWXvyQWfKQON3HnIq7mDWJaEeVnnpn+2dCBI/Dee1lpwReIP0/R5VljZBvG6QQVERGRFBCH10RjUSM5meBrGlRYpskvljOE5eOPr//8E0/MF2IB3K/TBGXeivfc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";
     result = MarkImageUtils.markImageByBase64(base64,imageType,Color.red,text,degree);
//    result = MarkImageUtils.markImageBySingleText(source,output,imageName,imageType,Color.red,text,degree);
//    //给图片打马赛克
//    result = MarkImageUtils.markImageByMosaic(source,output,imageName,imageType,size);
    System.out.println(result);
  }
/**
   * 给图片不同位置添加多个图片水印、可设置水印图片旋转角度
   * @param icon 水印图片路径（如：F:/images/icon.png）
   * @param source 没有加水印的图片路径（如：F:/images/6.jpg）
   * @param output 加水印后的图片路径（如：F:/images/）
   * @param imageName 图片名称（如：11111）
   * @param imageType 图片类型（如：jpg）
   * @param degree 水印图片旋转角度，为null表示不旋转
   */
  public static String markImageByMoreIcon(String icon,String source,String output,String imageName,String imageType,Integer degree) {
    String result = "添加图片水印出错";
    try {
    File file = new File(source);
    File ficon = new File(icon);
    if (!file.isFile()) {
      return source + " 不是一个图片文件!";
    }
      //将icon加载到内存中
      Image ic = ImageIO.read(ficon);
      //icon高度
      int icheight = ic.getHeight(null);
      //将源图片读到内存中
      Image img = ImageIO.read(file);
      //图片宽
      int width = img.getWidth(null);
      //图片高
      int height = img.getHeight(null);
      BufferedImage bi = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
      //创建一个指定 BufferedImage 的 Graphics2D 对象
      Graphics2D g = bi.createGraphics();
      //x,y轴默认是从0坐标开始
      int x = 0;
      int y = 0;
      //默认两张水印图片的间隔高度是水印图片的1/3
      int temp = icheight/3;
      int space = 1;
      if(height>=icheight){
      space = height/icheight;
      if(space>=2){
      temp = y = icheight/2;
      if(space==1||space==0){
      x = 0;
      y = 0;
      }
      }
      }else{
      x = 0;
      y = 0;
      }
      //设置对线段的锯齿状边缘处理
      g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,RenderingHints.VALUE_INTERPOLATION_BILINEAR);
      //呈现一个图像，在绘制前进行从图像空间到用户空间的转换
      g.drawImage(img.getScaledInstance(width,height,Image.SCALE_SMOOTH),0,0,null);
      for(int i=0;i<space;i++){
      if (null != degree) {
        //设置水印旋转
        g.rotate(Math.toRadians(degree),(double) bi.getWidth() / 2, (double) bi.getHeight() / 2);
      }
      //水印图象的路径 水印一般为gif或者png的，这样可设置透明度
      ImageIcon imgIcon = new ImageIcon(icon);
      //得到Image对象。
      Image con = imgIcon.getImage();
      //透明度，最小值为0，最大值为1
      float clarity = 0.6f;
      g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP,clarity));
      //表示水印图片的坐标位置(x,y)
      //g.drawImage(con, 300, 220, null);
      g.drawImage(con, x, y, null);
      g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER));
      y+=(icheight+temp);
      }
      g.dispose();
      File sf = new File(output, imageName+"."+imageType);
    ImageIO.write(bi, imageType, sf); // 保存图片
      result = "图片完成添加Icon水印";
    } catch (Exception e) {
      e.printStackTrace();
    }
    return result;
  }
/**
   * 给图片添加单个图片水印、可设置水印图片旋转角度
   * @param icon 水印图片路径（如：F:/images/icon.png）
   * @param source 没有加水印的图片路径（如：F:/images/6.jpg）
   * @param output 加水印后的图片路径（如：F:/images/）
   * @param imageName 图片名称（如：11111）
   * @param imageType 图片类型（如：jpg）
   * @param degree 水印图片旋转角度，为null表示不旋转
   */
  public static String markImageBySingleIcon(String icon,String source,String output,String imageName,String imageType,Integer degree) {
    String result = "添加图片水印出错";
    try {
    File file = new File(source);
    File ficon = new File(icon);
    if (!file.isFile()) {
      return source + " 不是一个图片文件!";
    }
      //将icon加载到内存中
      Image ic = ImageIO.read(ficon);
      //icon高度
      int icheight = ic.getHeight(null);
      //将源图片读到内存中
      Image img = ImageIO.read(file);
      //图片宽
      int width = img.getWidth(null);
      //图片高
      int height = img.getHeight(null);
      BufferedImage bi = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
      //创建一个指定 BufferedImage 的 Graphics2D 对象
      Graphics2D g = bi.createGraphics();
      //x,y轴默认是从0坐标开始
      int x = 0;
      int y = (height/2)-(icheight/2);
      //设置对线段的锯齿状边缘处理
      g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,RenderingHints.VALUE_INTERPOLATION_BILINEAR);
      //呈现一个图像，在绘制前进行从图像空间到用户空间的转换
      g.drawImage(img.getScaledInstance(width,height,Image.SCALE_SMOOTH),0,0,null);
      if (null != degree) {
        //设置水印旋转
        g.rotate(Math.toRadians(degree),(double) bi.getWidth() / 2, (double) bi.getHeight() / 2);
      }
      //水印图象的路径 水印一般为gif或者png的，这样可设置透明度
      ImageIcon imgIcon = new ImageIcon(icon);
      //得到Image对象。
      Image con = imgIcon.getImage();
      //透明度，最小值为0，最大值为1
      float clarity = 0.6f;
      g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP,clarity));
      //表示水印图片的坐标位置(x,y)
      //g.drawImage(con, 300, 220, null);
      g.drawImage(con, x, y, null);
      g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER));
      g.dispose();
      File sf = new File(output, imageName+"."+imageType);
    ImageIO.write(bi, imageType, sf); // 保存图片
      result = "图片完成添加Icon水印";
    } catch (Exception e) {
      e.printStackTrace();
    }
    return result;
  }
  /**
   * 给图片添加多个文字水印、可设置水印文字旋转角度
   * @param source 需要添加水印的图片路径（如：F:/images/6.jpg）
   * @param outPut 添加水印后图片输出路径（如：F:/images/）
   * @param imageName 图片名称（如：11111）
   * @param imageType 图片类型（如：jpg）
   * @param color 水印文字的颜色
   * @param word 水印文字
   * @param degree 水印文字旋转角度，为null表示不旋转
   */
  public static String markImageByMoreText(String source,String output,String imageName,String imageType,Color color,String word,Integer degree) {
    String result = "添加文字水印出错";
  try {
      //读取原图片信息
      File file = new File(source);
      if (!file.isFile()) {
      return file + " 不是一个图片文件!";
    }
      Image img = ImageIO.read(file);
      //图片宽
      int width = img.getWidth(null);
      //图片高
      int height = img.getHeight(null);
      //文字大小
      int size = 50;
      //加水印
      BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
      Graphics2D g = bi.createGraphics();
      g.drawImage(img, 0, 0, width, height, null);
      //设置水印字体样式
      Font font = new Font("宋体", Font.PLAIN, size);
      //根据图片的背景设置水印颜色
      g.setColor(color);
      int x = width/3;
      int y = size;
      int space = height/size;
      for(int i=0;i<space;i++){
      //如果最后一个坐标的y轴比height高，直接退出
      if((y+size)>height){
      break;
      }
      if (null != degree) {
        //设置水印旋转
        g.rotate(Math.toRadians(degree),(double) bi.getWidth() / 2, (double) bi.getHeight() / 2);
      }
      g.setFont(font);
      //水印位置
      g.drawString(word, x, y);
      y+=(2*size);
      }
      g.dispose();
      //输出图片
      File sf = new File(output, imageName+"."+imageType);
    ImageIO.write(bi, imageType, sf); // 保存图片
      result = "图片完成添加Word水印";
    } catch (Exception e) {
      e.printStackTrace();
    }
  return result;
  }
  /**
   * 给图片添加单个文字水印、可设置水印文字旋转角度
   * @param source 需要添加水印的图片路径（如：F:/images/6.jpg）
   * @param outPut 添加水印后图片输出路径（如：F:/images/）
   * @param imageName 图片名称（如：11111）
   * @param imageType 图片类型（如：jpg）
   * @param color 水印文字的颜色
   * @param word 水印文字
   * @param degree 水印文字旋转角度，为null表示不旋转
   */
  public static String markImageBySingleText(String source,String output,String imageName,String imageType,Color color,String word,Integer degree) {
    String result = "添加文字水印出错";
   try {
      //读取原图片信息
       File file = new File(source);
       if (!file.isFile()) {
        return file + " 不是一个图片文件!";
      }
      Image img = ImageIO.read(file);
      int width = img.getWidth(null);
      int height = img.getHeight(null);
      //加水印
      BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
      Graphics2D g = bi.createGraphics();
      g.getDeviceConfiguration().createCompatibleImage(width, height, Transparency.TRANSLUCENT);
      g.dispose();
      g = bi.createGraphics();  
      g.drawImage(img, 0, 0, width, height, null);
      //设置水印字体样式
      Font font = new Font("宋体", Font.PLAIN, 50);
      //根据图片的背景设置水印颜色
      g.setColor(color);
      // 3、设置对线段的锯齿状边缘处理
      g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
              RenderingHints.VALUE_INTERPOLATION_BILINEAR);
      if (null != degree) {
        //设置水印旋转
        g.rotate(Math.toRadians(degree),(double) bi.getWidth() / 2, (double) bi.getHeight() / 2);
      }
      g.setFont(font);
      // 7、设置水印文字透明度
//      g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,
//              alpha));
      AlphaComposite ac=AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f);//设置水印文字透明度
      g.setComposite(ac);
      int x = width/3;
      int y = height/2;
      //水印位置
      g.drawString(word, x,y);
      g.dispose();
      //输出图片
      File sf = new File(output, imageName+"."+imageType);
      ImageIO.write(bi, imageType, sf); // 保存图片
      result = "图片完成添加Word水印";
    } catch (Exception e) {
      e.printStackTrace();
    }
    return result;
  }
  
  /**
   * 给base64图片添加单个文字水印、可设置水印文字旋转角度
   * @param base64
   * @param imageType
   * @param color
   * @param word
   * @param degree
   * @return
   */
  public static String markImageByBase64(String base64,String imageType,Color color,String word,Integer degree) {
	    String result = "添加文字水印出错";
	   try {
	      //读取原图片信息
//	      File file = new File(source);
//		   String base64="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Prv+GM44Q8EnIiIi5fj882baacuWBQg+MlS7NEvyuSuuKP7cJ58Uf8+scirxdrhoi7YjKQRLZNG+iRG8+moFn4iIiHQTDpcgW7ea4Pvpp2YKdevWagNGeAXr3aztbrll7fdQ96asyo633blzIujy40ZwmpUrIiIidXn66WYa6tChrDvBRyu0Ln3QQfCVsajh9g2JHPMaDiPe8skf+bH+7W/Z6VIvTlIRERFpyrFjzTTUQw91KPhCSZK2WqnlofQJn6WrBd00sL5N2/aRR7LTCRpl9vvFF1mhaZW6f5R0cWKKiIhIn9y6hNR1JvjwIXdZRwZLXUjEiPf10kvV94VgxDU7a4wIQSekiIiItAGhbU2sfFRKaV3w4Y5tMkjKqVQdIBa7ujGBuINffjkrbFxM6RZ69QZrX/y3X35R9ImIiEj/3Lq7d3cg+LDQdZ1dEmLt6JIRYvSKwNUcPkPNvmmm0GnJHCdOrG5Htw4npYiIiLTBWWfV11M33tiB4Gvid65bP+addyafxx0bfvftt9PFH2IPy138u/vvL/fd//736meIGXRSioiISGruu6++nkIstir4vv++mQlyVpmUWYRaeNNaov3rX8VlVACzadXvwwWcuveuiIiISGD//maaqo6+KS34EGxNBjevTMo0rr22XIYv2bz5WD3i9OrUzrv9dtuniYiISDugWZokwe7Y0aLgu/PO+gNDiNU9KSEer2wbNAgt1uJ6elW/N/TejWMDRURERFJw+eX1ddX117co+JoEGG7bVl80URC57mevvHLtOGhcXPazZOo2tU6KiIiIFIGVronntBXB17Sd2ptvLk4wkX177rmrYznnnPJu3uefX+3C4eQUERGRVFCqrom2ok1scsHXNH4v5Qkia5fiycHl+u675fb/yitrx/Tss+U+F8SifXRFREQkJRs21NdWL7zQguBrUn+vaju1116b1Msrip379NP1+z/zzGr7J54vfBaX77ztv/tOK5+IiIikJ1Qi6ajc3XzBhwBrs50aCRn5DNtp/eL+859s3Ql67LFsrsiblQ49L0YvJIHQucMJKiIiIimga0ZdffWXvyQWfKQON3HnIq7mDWJaEeVnnpn+2dCBI/Dee1lpwReIP0/R5VljZBvG6QQVERGRFBCH10RjUSM5meBrGlRYpskvljOE5eOPr//8E0/MF2IB3K/TBGXeivfc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";
		   File file=base64ToFile(base64);
	       if (!file.isFile()) {
	        return file + " 不是一个图片文件!";
	      }
	      Image img = ImageIO.read(file);
	      file.delete();
	      int width = img.getWidth(null);
	      int height = img.getHeight(null);
	      //加水印
	      BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
	      Graphics2D g = bi.createGraphics();
	      g.getDeviceConfiguration().createCompatibleImage(width, height, Transparency.TRANSLUCENT);
	      g.dispose();
	      g = bi.createGraphics();  
	      g.drawImage(img, 0, 0, width, height, null);
	      //设置水印字体样式
	      Font font = new Font("宋体", Font.PLAIN, 50);
	      //根据图片的背景设置水印颜色
	      g.setColor(color);
	      // 3、设置对线段的锯齿状边缘处理
	      g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
	              RenderingHints.VALUE_INTERPOLATION_BILINEAR);
	      if (null != degree) {
	        //设置水印旋转
	        g.rotate(Math.toRadians(degree),(double) bi.getWidth() / 2, (double) bi.getHeight() / 2);
	      }
	      g.setFont(font);
	      // 7、设置水印文字透明度
//	      g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,
//	              alpha));
	      AlphaComposite ac=AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f);//设置水印文字透明度
	      g.setComposite(ac);
	      int x = width/3;
	      int y = height/2;
	      //水印位置
	      g.drawString(word, x,y);
	      g.dispose();
	      //输出图片
	      ByteArrayOutputStream baos = new ByteArrayOutputStream();
	      ImageIO.write(bi, imageType, baos);
	      String data = DatatypeConverter.printBase64Binary(baos.toByteArray());//保存图片
	      System.out.println(data);
	      result = "图片完成添加Word水印";
	    } catch (Exception e) {
	      e.printStackTrace();
	    }
	    return result;
	  }
  
  /**
   * base64转file
   * @param base64
   * @return
   */
	public static File base64ToFile(String base64) {
		if (base64 == null || "".equals(base64)) {
			return null;
		}
		byte[] buff = Base64.decode(base64);
		File file = null;
		FileOutputStream fout = null;
		try {
			file = File.createTempFile("tmp", null);
			System.out.println(file.getAbsolutePath());
			fout = new FileOutputStream(file);
			fout.write(buff);
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (fout != null) {
				try {
					fout.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		return file;
	}
	
  /**
   * 给图片加马赛克
   * @param source 原图片路径（如：F:/images/6.jpg）
   * @param output 打马赛克后，图片保存的路径（如：F:/images/）
   * @param imageName 图片名称（如：11111）
   * @param imageType 图片类型（如：jpg）
   * @param size 马赛克尺寸，即每个矩形的宽高
   * @return
   */
  public static String markImageByMosaic(String source,String output,String imageName,String imageType,int size){
  String result = "图片打马赛克出错";
  try{
    File file = new File(source);
    if (!file.isFile()) {
      return file + " 不是一个图片文件!";
    }
    BufferedImage img = ImageIO.read(file); // 读取该图片
    int width = img.getWidth(null); //原图片宽
      int height = img.getHeight(null); //原图片高
    BufferedImage bi = new BufferedImage(width,height, BufferedImage.TYPE_INT_RGB);
    //马赛克格尺寸太大或太小
    if (width < size || height < size) {
      return "马赛克格尺寸太大";
    }
    if(size<=0){
     return "马赛克格尺寸太小";
    }
    int xcount = 0; //x方向绘制个数
    int ycount = 0; //y方向绘制个数
    if (width % size == 0) {
      xcount = width / size;
    } else {
      xcount = width / size + 1;
    }
    if (height % size == 0) {
      ycount = height / size;
    } else {
      ycount = height / size + 1;
    }
    int x = 0; //x坐标
    int y = 0;
//y坐标
    //绘制马赛克(绘制矩形并填充颜色)
    Graphics2D g = bi.createGraphics();
    for (int i = 0; i < xcount; i++) {
      for (int j = 0; j < ycount; j++) {
        //马赛克矩形格大小
        int mwidth = size;
        int mheight = size;
        if(i==xcount-1){  //横向最后一个不够一个size
          mwidth = width-x;
        }
        if(j == ycount-1){ //纵向最后一个不够一个size
          mheight = height-y;
        }
        //矩形颜色取中心像素点RGB值
        int centerX = x;
        int centerY = y;
        if (mwidth % 2 == 0) {
          centerX += mwidth / 2;
        } else {
          centerX += (mwidth - 1) / 2;
        }
        if (mheight % 2 == 0) {
          centerY += mheight / 2;
        } else {
          centerY += (mheight - 1) / 2;
        }
        Color color = new Color(img.getRGB(centerX, centerY));
        g.setColor(color);
        g.fillRect(x, y, mwidth, mheight);
        y = y + size;// 计算下一个矩形的y坐标
      }
      y = 0;// 还原y坐标
      x = x + size;// 计算x坐标
    }
    g.dispose();
    File sf = new File(output, imageName+"."+imageType);
    ImageIO.write(bi, imageType, sf); // 保存图片
    result = "打马赛克成功";
  }catch(Exception e){
  e.printStackTrace();
  }
    return result;
  }
}